import { Table } from 'antd';

// const data1 = [
//   {
//     key: '1',
//     标题1: 'TS2711-X1',
//     标题2: '2022/9/1',
//     数量1: 325,
//   },
//   {
//     key: '2',
//     标题1: 'TS2711-X1',
//     标题2: '2022/10/1',
//     数量1: 110,
//   },
//   {
//     key: '3',
//     标题1: 'TS2711-X1',
//     标题2: '2022/11/1',
//     数量1: 130,
//   },
//   {
//     key: '4',
//     标题1: 'TS2711-X1',
//     标题2: '2022/12/1',
//     数量1: 180,
//   },
//   {
//     key: '5',
//     标题1: 'TS2711-X1',
//     标题2: '2023/1/1',
//     数量1: 0,
//   },
//   {
//     key: '6',
//     标题1: 'TS2711-X1',
//     标题2: '2023/2/1',
//     数量1: 0,
//   },
//   {
//     key: '7',
//     标题1: 'TS2711-X1',
//     标题2: '2023/3/1',
//     数量1: 0,
//   },
//   {
//     key: '8',
//     标题1: 'TS2711-X1',
//     标题2: '2023/4/1',
//     数量1: 0,
//   },
//   {
//     key: '9',
//     标题1: 'TS2711-X1',
//     标题2: '2023/5/1',
//     数量1: 0,
//   },
//   {
//     key: '10',
//     标题1: 'TS2711-X1',
//     标题2: '2023/6/1',
//     数量1: 0,
//   },
//   {
//     key: '11',
//     标题1: 'TS2711-X1',
//     标题2: '2023/7/1',
//     数量1: 0,
//   },
//   {
//     key: '12',
//     标题1: 'TS2711-X1',
//     标题2: '2023/8/1',
//     数量1: 0,
//   },
//   {
//     key: '13',
//     标题1: 'TS2818-X6',
//     标题2: '2022/9/1',
//     数量1: 0,
//   },
//   {
//     key: '14',
//     标题1: 'TS2818-X6',
//     标题2: '2022/10/1',
//     数量1: 0,
//   },
//   {
//     key: '15',
//     标题1: 'TS2818-X6',
//     标题2: '2022/11/1',
//     数量1: 0,
//   },
//   {
//     key: '16',
//     标题1: 'TS2818-X6',
//     标题2: '2022/12/1',
//     数量1: 0,
//   },
//   {
//     key: '17',
//     标题1: 'TS2818-X6',
//     标题2: '2023/1/1',
//     数量1: 0,
//   },
//   {
//     key: '18',
//     标题1: 'TS2818-X6',
//     标题2: '2023/2/1',
//     数量1: 0,
//   },
//   {
//     key: '19',
//     标题1: 'TS2818-X6',
//     标题2: '2023/3/1',
//     数量1: 0,
//   },
//   {
//     key: '20',
//     标题1: 'TS2818-X6',
//     标题2: '2023/4/1',
//     数量1: 0,
//   },
//   {
//     key: '21',
//     标题1: 'TS2818-X6',
//     标题2: '2023/5/1',
//     数量1: 0,
//   },
//   {
//     key: '22',
//     标题1: 'TS2818-X6',
//     标题2: '2023/6/1',
//     数量1: 800,
//   },
//   {
//     key: '23',
//     标题1: 'TS2818-X6',
//     标题2: '2023/7/1',
//     数量1: 0,
//   },
//   {
//     key: '24',
//     标题1: 'TS2818-X6',
//     标题2: '2023/8/1',
//     数量1: 0,
//   },
// ]
const data2 = [
  {
    key: '1',
    标题1: 'TS2711-X1',
    标题2: '2022/9/1',
    数量1: 325,
  },
  {
    key: '2',
    标题1: 'TS2711-X1',
    标题2: '2022/10/1',
    数量1: 110,
  },
  {
    key: '3',
    标题1: 'TS2711-X1',
    标题2: '2022/11/1',
    数量1: 130,
  },
  {
    key: '4',
    标题1: 'TS2711-X1',
    标题2: '2022/12/1',
    数量1: 180,
  },
  {
    key: '5',
    标题1: 'TS2711-X1',
    标题2: '2023/1/1',
    数量1: 0,
  },
  {
    key: '6',
    标题1: 'TS2711-X1',
    标题2: '2023/2/1',
    数量1: 0,
  },
  {
    key: '7',
    标题1: 'TS2711-X1',
    标题2: '2023/3/1',
    数量1: 0,
  },
  {
    key: '8',
    标题1: 'TS2711-X1',
    标题2: '2023/4/1',
    数量1: 0,
  },
  {
    key: '9',
    标题1: 'TS2711-X1',
    标题2: '2023/5/1',
    数量1: 0,
  },
  {
    key: '10',
    标题1: 'TS2711-X1',
    标题2: '2023/6/1',
    数量1: 0,
  },
  {
    key: '11',
    标题1: 'TS2711-X1',
    标题2: '2023/7/1',
    数量1: 0,
  },
  {
    key: '12',
    标题1: 'TS2711-X1',
    标题2: '2023/8/1',
    数量1: 0,
  },
  {
    key: '13',
    标题1: 'TS2711-X1',
    标题2: '2023/9/1',
    数量1: 0,
  },
  {
    key: '14',
    标题1: 'TS2818-X6',
    标题2: '2022/9/1',
    数量1: 0,
  },
  {
    key: '15',
    标题1: 'TS2818-X6',
    标题2: '2022/10/1',
    数量1: 0,
  },
  {
    key: '16',
    标题1: 'TS2818-X6',
    标题2: '2022/11/1',
    数量1: 0,
  },
  {
    key: '17',
    标题1: 'TS2818-X6',
    标题2: '2022/12/1',
    数量1: 0,
  },
  {
    key: '18',
    标题1: 'TS2818-X6',
    标题2: '2023/1/1',
    数量1: 0,
  },
  {
    key: '19',
    标题1: 'TS2818-X6',
    标题2: '2023/2/1',
    数量1: 0,
  },
  {
    key: '20',
    标题1: 'TS2818-X6',
    标题2: '2023/3/1',
    数量1: 0,
  },
  {
    key: '21',
    标题1: 'TS2818-X6',
    标题2: '2023/4/1',
    数量1: 0,
  },
  {
    key: '22',
    标题1: 'TS2818-X6',
    标题2: '2023/5/1',
    数量1: 0,
  },
  {
    key: '23',
    标题1: 'TS2818-X6',
    标题2: '2023/6/1',
    数量1: 800,
  },
  {
    key: '24',
    标题1: 'TS2818-X6',
    标题2: '2023/7/1',
    数量1: 0,
  },
  {
    key: '25',
    标题1: 'TS2818-X6',
    标题2: '2023/9/1',
    数量1: 1000,
  },
  {
    key: '26',
    标题1: 'TS2818-X6',
    标题2: '2023/8/1',
    数量1: 0,
  },
]
// const columns = [
//   {
//     title: '标题1',
//     dataIndex: '标题1',
//     render: (text: any) => <a>{text}</a>,
//   },
//   {
//     title: '标题2',
//     dataIndex: '标题2',
//     render: (text: any) => <a>{text}</a>,
//   },
//   {
//     title: '数量1',
//     dataIndex: '数量1',
//     render: (text: any) => <a>{text}</a>,
//   },
// ];

const titleArr: any[] = []; //转变后的标题栏

//官网类型的数据转化为所需样式的数据
const dataAdaptor = (dataArr: string | any[]) => {
  const [_, key1, key2, key3] = Object.keys(dataArr[0]); //[_, 标题1，标题2，数量1]
  const midNum = dataArr.length / 2;
  const obj1 = {};
  obj1[key1] = dataArr[0][key1]; //临时对象，{'标题1'：TS2711-X1; '2022/9/1': 325}
  const obj2 = {};
  obj2[key1] = dataArr[0][key1]; //临时对象，{'标题1'：TS2818-X6; '2022/9/1': 0}
  
  for(let i = 0; i < dataArr.length; i++) {
    if(i < midNum) {
      titleArr.push(dataArr[i][key2]);
      obj1[dataArr[i][key2]] = dataArr[i][key3];
    } else{
      obj2[dataArr[i][key2]] = dataArr[i][key3];
    }
  }
  titleArr.unshift(key1); //把标题一加进去

  const dataObj1 = {key: 1}; //转换后的对象
  const dataObj2 = {key: 2};
  for(let j = 0; j < titleArr.length; j++) {
    dataObj1[titleArr[j]] = obj1[titleArr[j]]; //按照titleArr返回的键依次为对象添加键值对，一一对应
    dataObj2[titleArr[j]] = obj2[titleArr[j]];
  }
  return [dataObj1, dataObj2];
}
const tableData = dataAdaptor(data2);

//根据转化后的数据，配置官网类型的columns形式
const columnsAdaptor = (titles: string | any[]) => {
  const columnsArr = [];
  for(let i = 0; i < titles.length; i++) {
    const columnsObj = {title: '', dataIndex: '', render: (text: any) => <a>{text}</a>};
    columnsObj.title = titles[i];
    columnsObj.dataIndex = titles[i];
    columnsArr.push(columnsObj);
  }
  return columnsArr;
}

const tableColumns = columnsAdaptor(titleArr);
console.log(tableColumns)

export default () => <Table columns={tableColumns} dataSource={tableData} bordered pagination={false} />;